<html>
	<head>
		<meta charset="utf-8"></meta>
		<title>BGridLayout</title>
		<link href="./style.css" rel="stylesheet" type="text/css"/>
	</head>
	<body>
		<div class="class" name="BGridLayout">
			<h1>BGridLayout</h1>
			<p>继承自<a href="BLayout.html">BLayout</a></p>
			<p id="resume">BGridLayout为网格布局器，将子元素组织在行列网格结构中。<a href="#desc">详细</a></p>
			<h2>public</h2>
			<table id="public">
				<tr><td align="right"></td><td><a href="#BGridLayout(BWidget*)">BGridLayout</a>(BWidget* host = 0);</td></tr>
				<tr><td align="right"></td><td><a href="#BGridLayout(const BString&,BWidget*)">BGridLayout</a>(const BString& name, BWidget* host = 0);</td></tr>
				<tr><td align="right"></td><td><a href="#BGridLayout(Policy, Policy,BWidget*)">BGridLayout</a>(Policy widthPolicy, Policy heightPolicy, BWidget* host = 0);</td></tr>
				<tr><td align="right"></td><td><a href="#~BGridLayout()">~BGridLayout</a>();</td></tr>
				<tr><td align="right">void </td><td><a href="#setSpacing(int)">setSpacing</a>(int spacing);</td></tr>
				<tr><td align="right">void </td><td><a href="#setColumnSpacing(int)">setColumnSpacing</a>(int spacing);</td></tr>
				<tr><td align="right">int </td><td><a href="#columnSpacing()">columnSpacing</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setRowSpacing(int)">setRowSpacing</a>(int spacing);</td></tr>
				<tr><td align="right">int </td><td><a href="#rowSpacing()">rowSpacing</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setHandleSize(const BSize&)">setHandleSize</a>(const BSize& handleSize);</td></tr>
				<tr><td align="right">const BSize& </td><td><a href="#handleSize()">handleSize</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setSplitable(bool)">setSplitable</a>(bool splitable);</td></tr>
				<tr><td align="right">bool </td><td><a href="#splitable()">splitable</a>() const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#setRowCount(int)">setRowCount</a>(int rowCount);</td></tr>
				<tr><td align="right">int </td><td><a href="#rowCount()">rowCount</a>() const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#setColumnCount(int)">setColumnCount</a>(int columnCount);</td></tr>
				<tr><td align="right">int </td><td><a href="#columnCount()">columnCount</a>() const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#setRowAlign(int, Align)">setRowAlign</a>(int row, Align align);</td></tr>
				<tr><td align="right">bool </td><td><a href="#setColumnAlign(int, Align)">setColumnAlign</a>(int column, Align align);</td></tr>
				<tr><td align="right">bool </td><td><a href="#setAlign(int, int, Align)">setAlign</a>(int row, int column, Align align);</td></tr>
				<tr><td align="right">Align </td><td><a href="#align(int, int)">align</a>(int row, int column) const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#setAlign(BObject*, Align)">setAlign</a>(BObject* object, Align align);</td></tr>
				<tr><td align="right">Align </td><td><a href="#align(BObject*)">align</a>(BObject* object) const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#setStretch(int, int, const BSizeStretch&)">setStretch</a>(int row, int column, const BSizeStretch& stretch);</td></tr>
				<tr><td align="right">const BSizeStretch& </td><td><a href="#stretch(int, int)">stretch</a>(int row, int column) const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#setStretch(BObject*, const BSizeStretch&)">setStretch</a>(BObject* object, const BSizeStretch& stretch);</td></tr>
				<tr><td align="right">const BSizeStretch& </td><td><a href="#stretch(BObject*)">stretch</a>(BObject* object) const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#setColumnStretch(float)">setColumnStretch</a>(float stretch);</td></tr>
				<tr><td align="right">bool </td><td><a href="#setColumnStretch(int, float)">setColumnStretch</a>(int column, float stretch);</td></tr>
				<tr><td align="right">float </td><td><a href="#columnStretch(int)">columnStretch</a>(int column) const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#setRowStretch(float)">setRowStretch</a>(float stretch);</td></tr>
				<tr><td align="right">bool </td><td><a href="#setRowStretch(int, float)">setRowStretch</a>(int row, float stretch);</td></tr>
				<tr><td align="right">float </td><td><a href="#rowStretch(int)">rowStretch</a>(int row) const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#setColumnPolicy(Policy)">setColumnPolicy</a>(Policy policy);</td></tr>
				<tr><td align="right">bool </td><td><a href="#setColumnPolicy(int, Policy)">setColumnPolicy</a>(int column, Policy policy);</td></tr>
				<tr><td align="right">Policy </td><td><a href="#columnPolicy(int)">columnPolicy</a>(int column) const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#setRowPolicy(Policy)">setRowPolicy</a>(Policy policy);</td></tr>
				<tr><td align="right">bool </td><td><a href="#setRowPolicy(int, Policy)">setRowPolicy</a>(int row, Policy policy);</td></tr>
				<tr><td align="right">Policy </td><td><a href="#rowPolicy(int)">rowPolicy</a>(int row) const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#showRow(int)">showRow</a>(int row);</td></tr>
				<tr><td align="right">bool </td><td><a href="#hideRow(int)">hideRow</a>(int row);</td></tr>
				<tr><td align="right">bool </td><td><a href="#showColumn(int)">showColumn</a>(int column);</td></tr>
				<tr><td align="right">bool </td><td><a href="#hideColumn(int)">hideColumn</a>(int column);</td></tr>
				<tr><td align="right">bool </td><td><a href="#addWidget(int, int, BWidget*,Align)">addWidget</a>(int row, int column, BWidget* widget, Align align = Align_Center);</td></tr>
				<tr><td align="right">bool </td><td><a href="#addLayout(int, int, BLayout*,Align)">addLayout</a>(int row, int column, BLayout* layout, Align align = Align_Center);</td></tr>
				<tr><td align="right">bool </td><td><a href="#addSpacer(int, int, BSpacer*,Align)">addSpacer</a>(int row, int column, BSpacer* spacer, Align align = Align_Center);</td></tr>
				<tr><td align="right">bool </td><td><a href="#addSpring(int, int, BSpring*,Align)">addSpring</a>(int row, int column, BSpring* spring, Align align = Align_Center);</td></tr>
				<tr><td align="right">BSpacer* </td><td><a href="#addSpacer(int, int, const BSize&,Align)">addSpacer</a>(int row, int column, const BSize& size, Align align = Align_Center);</td></tr>
				<tr><td align="right">BSpring* </td><td><a href="#addSpring(int, int,const BSizeStretch&)">addSpring</a>(int row, int column, const BSizeStretch& stretch = 99999.0f);</td></tr>
				<tr><td align="right">bool </td><td><a href="#setWidget(int, int, BWidget*,Align)">setWidget</a>(int row, int column, BWidget* widget, Align align = Align_Center);</td></tr>
				<tr><td align="right">bool </td><td><a href="#setLayout(int, int, BLayout*,Align)">setLayout</a>(int row, int column, BLayout* layout, Align align = Align_Center);</td></tr>
				<tr><td align="right">bool </td><td><a href="#setSpacer(int, int, BSpacer*,Align)">setSpacer</a>(int row, int column, BSpacer* spacer, Align align = Align_Center);</td></tr>
				<tr><td align="right">bool </td><td><a href="#setSpring(int, int, BSpring*,Align)">setSpring</a>(int row, int column, BSpring* spring, Align align = Align_Center);</td></tr>
				<tr><td align="right">bool </td><td><a href="#insertWidget(BWidget*,Align)">insertWidget</a>(BWidget* widget, Align align = Align_Center);</td></tr>
				<tr><td align="right">bool </td><td><a href="#insertLayout(BLayout*,Align)">insertLayout</a>(BLayout* layout, Align align = Align_Center);</td></tr>
				<tr><td align="right">bool </td><td><a href="#insertSpacer(BSpacer*,Align)">insertSpacer</a>(BSpacer* spacer, Align align = Align_Center);</td></tr>
				<tr><td align="right">bool </td><td><a href="#insertSpring(BSpring*,Align)">insertSpring</a>(BSpring* spring, Align align = Align_Center);</td></tr>
				<tr><td align="right">BSpacer* </td><td><a href="#insertSpacer(const BSize&,Align)">insertSpacer</a>(const BSize& size, Align align = Align_Center);</td></tr>
				<tr><td align="right">BSpring* </td><td><a href="#insertSpring(const BSizeStretch&)">insertSpring</a>(const BSizeStretch& stretch = 99999.0f);</td></tr>
				<tr><td align="right">bool </td><td><a href="#remove(int, int)">remove</a>(int row, int column);</td></tr>
				<tr><td align="right">bool </td><td><a href="#removeRow(int)">removeRow</a>(int row);</td></tr>
				<tr><td align="right">bool </td><td><a href="#removeRows(int, int)">removeRows</a>(int row, int count);</td></tr>
				<tr><td align="right">bool </td><td><a href="#removeColumn(int)">removeColumn</a>(int column);</td></tr>
				<tr><td align="right">bool </td><td><a href="#removeColumns(int, int)">removeColumns</a>(int column, int count);</td></tr>
				<tr><td align="right">BObject* </td><td><a href="#object(int, int)">object</a>(int row, int column) const;</td></tr>
				<tr><td align="right">BWidget* </td><td><a href="#widget(int, int)">widget</a>(int row, int column) const;</td></tr>
				<tr><td align="right">BLayout* </td><td><a href="#layout(int, int)">layout</a>(int row, int column) const;</td></tr>
				<tr><td align="right">BSpacer* </td><td><a href="#spacer(int, int)">spacer</a>(int row, int column) const;</td></tr>
				<tr><td align="right">BSpring* </td><td><a href="#spring(int, int)">spring</a>(int row, int column) const;</td></tr>
				<tr><td align="right">int </td><td><a href="#row(const BObject*)">row</a>(const BObject* object) const;</td></tr>
				<tr><td align="right">int </td><td><a href="#column(const BObject*)">column</a>(const BObject* object) const;</td></tr>
				<tr><td align="right">BRect </td><td><a href="#rowRect(int)">rowRect</a>(int row) const;</td></tr>
				<tr><td align="right">BRect </td><td><a href="#columnRect(int)">columnRect</a>(int column) const;</td></tr>
				<tr><td align="right">const BRect& </td><td><a href="#cellRect(int, int)">cellRect</a>(int row, int column) const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#clearCells()">clearCells</a>();</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#dirty(const BObject*)">dirty</a>(const BObject* object);</td></tr>
				<tr><td align="right">virtual Align </td><td><a href="#align(const BObject*)">align</a>(const BObject* object) const;</td></tr>
				<tr><td align="right">virtual const BRect& </td><td><a href="#area(const BObject*)">area</a>(const BObject* object) const;</td></tr>
				<tr><td align="right">virtual int </td><td><a href="#count()">count</a>() const;</td></tr>
				<tr><td align="right">virtual BObject* </td><td><a href="#object(int)">object</a>(int index) const;</td></tr>
				<tr><td align="right">virtual BWidget* </td><td><a href="#widget(int)">widget</a>(int index) const;</td></tr>
				<tr><td align="right">virtual BLayout* </td><td><a href="#layout(int)">layout</a>(int index) const;</td></tr>
				<tr><td align="right">virtual BSpacer* </td><td><a href="#spacer(int)">spacer</a>(int index) const;</td></tr>
				<tr><td align="right">virtual BSpring* </td><td><a href="#spring(int)">spring</a>(int index) const;</td></tr>
				<tr><td align="right">virtual BObject* </td><td><a href="#find(const BString&)">find</a>(const BString& name) const;</td></tr>
				<tr><td align="right">virtual BWidget* </td><td><a href="#findWidget(const BString&)">findWidget</a>(const BString& name) const;</td></tr>
				<tr><td align="right">virtual BLayout* </td><td><a href="#findLayout(const BString&)">findLayout</a>(const BString& name) const;</td></tr>
				<tr><td align="right">virtual BSpacer* </td><td><a href="#findSpacer(const BString&)">findSpacer</a>(const BString& name) const;</td></tr>
				<tr><td align="right">virtual BSpring* </td><td><a href="#findSpring(const BString&)">findSpring</a>(const BString& name) const;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#contain(const BWidget*)">contain</a>(const BWidget* widget) const;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#contain(const BLayout*)">contain</a>(const BLayout* layout) const;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#contain(const BSpacer*)">contain</a>(const BSpacer* spacer) const;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#contain(const BSpring*)">contain</a>(const BSpring* spring) const;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#remove(BWidget*)">remove</a>(BWidget* widget);</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#remove(BLayout*)">remove</a>(BLayout* layout);</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#remove(BSpacer*)">remove</a>(BSpacer* spacer);</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#remove(BSpring*)">remove</a>(BSpring* spring);</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#clear()">clear</a>();</td></tr>
				<tr><td align="right">virtual BSizePolicy </td><td><a href="#sizePolicy()">sizePolicy</a>() const;</td></tr>
				<tr><td align="right">virtual BSize </td><td><a href="#baseSize()">baseSize</a>() const;</td></tr>
				<tr><td align="right">virtual BSize </td><td><a href="#sizeHint()">sizeHint</a>() const;</td></tr>
				<tr><td align="right">virtual BSize </td><td><a href="#fixedSize()">fixedSize</a>() const;</td></tr>
				<tr><td align="right">virtual BSize </td><td><a href="#minSize()">minSize</a>() const;</td></tr>
				<tr><td align="right">virtual BSize </td><td><a href="#maxSize()">maxSize</a>() const;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#adjust()">adjust</a>();</td></tr>
			</table>
			<h2>protected</h2>
			<table id="protected">
				<tr><td align="right">virtual void </td><td><a href="#attached(BWidget*)">attached</a>(BWidget* host);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#detached(BWidget*)">detached</a>(BWidget* host);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#event(const BEvent&)">event</a>(const BEvent& event);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#styleEvent(const BEvent&)">styleEvent</a>(const BEvent& event);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#freshEvent(const BEvent&)">freshEvent</a>(const BEvent& event);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#paintEvent(const BEvent&)">paintEvent</a>(const BEvent& event);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#mouseEnterEvent(const BMouseEvent&)">mouseEnterEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#mouseLeaveEvent(const BMouseEvent&)">mouseLeaveEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#mousePressEvent(const BMouseEvent&)">mousePressEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#mouseReleaseEvent(const BMouseEvent&)">mouseReleaseEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#mouseMoveEvent(const BMouseEvent&)">mouseMoveEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
			</table>
			<div id="desc">
				<h2>详细介绍：</h2>
				<p>BGridLayout为网格布局器，将子元素组织在行列网格结构中。</p><h4>信号表：</h4><table>
					<tr><td>Signal_Adjust</td><td>当进行布局调整时发出，无值。</td></tr>
					<tr><td>Signal_SplitFinished</td><td>当拖动调整的操作结束时发出，如果是横向调整则值为：int rowHandle，如果是纵向调整则值为：int columnHandle。</td></tr>
					<tr><td>Signal_Splitting</td><td>当正在拖动调整的操作时发出，如果是横向调整则值为：int rowHandle，如果是纵向调整则值为：int columnHandle。</td></tr></table>
			</div>
			<h2 id="docs">成员文档：</h2>
			<div id="BGridLayout(BWidget*)">
				<h3>BGridLayout(BWidget* host = 0);</h3>
				<p>构造一个空的网格布局器，host指定依附控件。</p>
			</div>
			<div id="BGridLayout(const BString&,BWidget*)">
				<h3>BGridLayout(const BString&amp; name, BWidget* host = 0);</h3>
				<p>构造一个空的网格布局器，name指定其名称，host指定依附控件。</p>
			</div>
			<div id="BGridLayout(Policy, Policy,BWidget*)">
				<h3>BGridLayout(Policy widthPolicy, Policy heightPolicy, BWidget* host = 0);</h3>
				<p>构造一个空的网格布局器，widthPolicy指定宽度策略，heightPolicy指定高度策略，host指定依附控件。</p>
			</div>
			<div id="~BGridLayout()">
				<h3>~BGridLayout();</h3>
				<p>析构一个网格布局器。</p>
			</div>
			<div id="setSpacing(int)">
				<h3>void setSpacing(int spacing);</h3>
				<p>设置子元素之间的间隔，此方法改变行间隔和列间隔值。</p>
			</div>
			<div id="setColumnSpacing(int)">
				<h3>void setColumnSpacing(int spacing);</h3>
				<p>设置列间隔值。</p>
			</div>
			<div id="columnSpacing()">
				<h3>int columnSpacing() const;</h3>
				<p>获得列间隔值。</p>
			</div>
			<div id="setRowSpacing(int)">
				<h3>void setRowSpacing(int spacing);</h3>
				<p>设置行间隔值。</p>
			</div>
			<div id="rowSpacing()">
				<h3>int rowSpacing() const;</h3>
				<p>获得行间隔值。</p>
			</div>
			<div id="setHandleSize(const BSize&)">
				<h3>void setHandleSize(const BSize&amp; handleSize);</h3>
				<p>设置手柄尺寸。</p>
			</div>
			<div id="handleSize()">
				<h3>const BSize&amp; handleSize() const;</h3>
				<p>获得手柄尺寸。</p>
			</div>
			<div id="setSplitable(bool)">
				<h3>void setSplitable(bool splitable);</h3>
				<p>设置是否开启分割调整功能。</p>
			</div>
			<div id="splitable()">
				<h3>bool splitable() const;</h3>
				<p>获得是否开启分割调整功能。</p>
			</div>
			<div id="setRowCount(int)">
				<h3>bool setRowCount(int rowCount);</h3>
				<p>设置行数量，如果行数减少那么被移除的行中的元素会被移除。</p>
			</div>
			<div id="rowCount()">
				<h3>int rowCount() const;</h3>
				<p>获得行数量。</p>
			</div>
			<div id="setColumnCount(int)">
				<h3>bool setColumnCount(int columnCount);</h3>
				<p>设置列数量，如果列数减少那么被移除的列中的元素会被移除。</p>
			</div>
			<div id="columnCount()">
				<h3>int columnCount() const;</h3>
				<p>获得列数量。</p>
			</div>
			<div id="setRowAlign(int, Align)">
				<h3>bool setRowAlign(int row, Align align);</h3>
				<p>设置指定行的各个元素的对齐方式。</p>
			</div>
			<div id="setColumnAlign(int, Align)">
				<h3>bool setColumnAlign(int column, Align align);</h3>
				<p>设置指定列的各个元素的对齐方式。</p>
			</div>
			<div id="setAlign(int, int, Align)">
				<h3>bool setAlign(int row, int column, Align align);</h3>
				<p>设置指定位置的元素的对齐方式。</p>
			</div>
			<div id="align(int, int)">
				<h3>Align align(int row, int column) const;</h3>
				<p>取得指定位置的元素的对齐方式。</p>
			</div>
			<div id="setAlign(BObject*, Align)">
				<h3>bool setAlign(BObject* object, Align align);</h3>
				<p>设置指定元素的对齐方式。</p>
			</div>
			<div id="align(BObject*)">
				<h3>Align align(BObject* object) const;</h3>
				<p>获得指定元素的对齐方式。</p>
			</div>
			<div id="setStretch(int, int, const BSizeStretch&)">
				<h3>bool setStretch(int row, int column, const BSizeStretch&amp; stretch);</h3>
				<p>设置指定位置的元素的弹性。</p>
			</div>
			<div id="stretch(int, int)">
				<h3>const BSizeStretch&amp; stretch(int row, int column) const;</h3>
				<p>获得指定位置的元素的弹性。</p>
			</div>
			<div id="setStretch(BObject*, const BSizeStretch&)">
				<h3>bool setStretch(BObject* object, const BSizeStretch&amp; stretch);</h3>
				<p>设置指定元素的弹性。</p>
			</div>
			<div id="stretch(BObject*)">
				<h3>const BSizeStretch&amp; stretch(BObject* object) const;</h3>
				<p>获得指定元素的弹性。</p>
			</div>
			<div id="setColumnStretch(float)">
				<h3>bool setColumnStretch(float stretch);</h3>
				<p>设置已有的所有列的弹性值。</p>
			</div>
			<div id="setColumnStretch(int, float)">
				<h3>bool setColumnStretch(int column, float stretch);</h3>
				<p>设置指定列的弹性值。此值小于0时，同弹性值由此列的所有元素的弹性值综合算出。</p>
			</div>
			<div id="columnStretch(int)">
				<h3>float columnStretch(int column) const;</h3>
				<p>获得指定列的弹性值，此值不是实际应用的弹性值，而是预设弹性值。</p>
			</div>
			<div id="setRowStretch(float)">
				<h3>bool setRowStretch(float stretch);</h3>
				<p>设置所有行的弹性值。</p>
			</div>
			<div id="setRowStretch(int, float)">
				<h3>bool setRowStretch(int row, float stretch);</h3>
				<p>设置指定行的弹性值，此值小于0时，则实际弹性值由此行的所有元素的弹性值综合算出。</p>
			</div>
			<div id="rowStretch(int)">
				<h3>float rowStretch(int row) const;</h3>
				<p>获得指定行的弹性值，此值不是实际应用的弹性值，而是预设弹性值。</p>
			</div>
			<div id="setColumnPolicy(Policy)">
				<h3>bool setColumnPolicy(Policy policy);</h3>
				<p>设置已有的所有列的调整策略。</p>
			</div>
			<div id="setColumnPolicy(int, Policy)">
				<h3>bool setColumnPolicy(int column, Policy policy);</h3>
				<p>设置指定列的预设策略，当列没有策略，则实际策略值由此列中的所有元素综合算出。</p>
			</div>
			<div id="columnPolicy(int)">
				<h3>Policy columnPolicy(int column) const;</h3>
				<p>获得指定列的策略，此值不是实际应用的值，而是预设策略。</p>
			</div>
			<div id="setRowPolicy(Policy)">
				<h3>bool setRowPolicy(Policy policy);</h3>
				<p>设置所有行的预设调整策略。</p>
			</div>
			<div id="setRowPolicy(int, Policy)">
				<h3>bool setRowPolicy(int row, Policy policy);</h3>
				<p>设置指定行的预设策略，当此预设策略为空时，实际应用的行策略由此行中的所有元素综合算出。</p>
			</div>
			<div id="rowPolicy(int)">
				<h3>Policy rowPolicy(int row) const;</h3>
				<p>获得指定行的预设策略。</p>
			</div>
			<div id="showRow(int)">
				<h3>bool showRow(int row);</h3>
				<p>显示指定的行。</p>
			</div>
			<div id="hideRow(int)">
				<h3>bool hideRow(int row);</h3>
				<p>隐藏指定的行。</p>
			</div>
			<div id="showColumn(int)">
				<h3>bool showColumn(int column);</h3>
				<p>显示指定的列。</p>
			</div>
			<div id="hideColumn(int)">
				<h3>bool hideColumn(int column);</h3>
				<p>隐藏指定的列。</p>
			</div>
			<div id="addWidget(int, int, BWidget*,Align)">
				<h3>bool addWidget(int row, int column, BWidget* widget, Align align = Align_Center);</h3>
				<p>向指定位置添加一个控件，align指定其对齐方式。若指定位置不存在则扩张行列数量，以使位置有效。</p>
			</div>
			<div id="addLayout(int, int, BLayout*,Align)">
				<h3>bool addLayout(int row, int column, BLayout* layout, Align align = Align_Center);</h3>
				<p>向指定位置添加一个布局器，align指定其对齐方式。若指定位置不存在则扩张行列数量，以使位置有效。</p>
			</div>
			<div id="addSpacer(int, int, BSpacer*,Align)">
				<h3>bool addSpacer(int row, int column, BSpacer* spacer, Align align = Align_Center);</h3>
				<p>向指定位置添加一个空间件，align指定其对齐方式。若指定位置不存在则扩张行列数量，以使位置有效。</p>
			</div>
			<div id="addSpring(int, int, BSpring*,Align)">
				<h3>bool addSpring(int row, int column, BSpring* spring, Align align = Align_Center);</h3>
				<p>向指定位置添加一个弹簧，align指定其对齐方式。若指定位置不存在则扩张行列数量，以使位置有效。</p>
			</div>
			<div id="addSpacer(int, int, const BSize&,Align)">
				<h3>BSpacer* addSpacer(int row, int column, const BSize&amp; size, Align align = Align_Center);</h3>
				<p>新建一个空间件，并将其添加到指定位置，size指定空间件的尺寸，align指定其对齐方式。若指定位置不存在则扩张行列数量，以使位置有效。返回值为新建的空间件。</p>
			</div>
			<div id="addSpring(int, int,const BSizeStretch&)">
				<h3>BSpring* addSpring(int row, int column, const BSizeStretch&amp; stretch = 99999.0f);</h3>
				<p>新建一个弹簧，并将其添加到指定位置，stretch指定弹簧的弹性。若指定位置不存在则扩张行列数量，以使位置有效。返回值为新建的弹簧。</p>
			</div>
			<div id="setWidget(int, int, BWidget*,Align)">
				<h3>bool setWidget(int row, int column, BWidget* widget, Align align = Align_Center);</h3>
				<p>向指定位置放置一个控件，align指定其对齐方式。若位置不存在则操作失败。</p>
			</div>
			<div id="setLayout(int, int, BLayout*,Align)">
				<h3>bool setLayout(int row, int column, BLayout* layout, Align align = Align_Center);</h3>
				<p>向指定位置放置一个布局器，align指定其对齐方式。若位置不存在则操作失败。</p>
			</div>
			<div id="setSpacer(int, int, BSpacer*,Align)">
				<h3>bool setSpacer(int row, int column, BSpacer* spacer, Align align = Align_Center);</h3>
				<p>向指定位置放置一个空间件，align指定其对齐方式。若位置不存在则操作失败。</p>
			</div>
			<div id="setSpring(int, int, BSpring*,Align)">
				<h3>bool setSpring(int row, int column, BSpring* spring, Align align = Align_Center);</h3>
				<p>向指定位置放置一个弹簧，align指定其对齐方式。若位置不存在则操作失败。</p>
			</div>
			<div id="insertWidget(BWidget*,Align)">
				<h3>bool insertWidget(BWidget* widget, Align align = Align_Center);</h3>
				<p>插入一个控件，align指定其对齐方式。此方法会取得第一个空位进行放置，若没有空位则添加行以获得空位。</p>
			</div>
			<div id="insertLayout(BLayout*,Align)">
				<h3>bool insertLayout(BLayout* layout, Align align = Align_Center);</h3>
				<p>插入一个布局器，align指定其对齐方式。此方法会取得第一个空位进行放置，若没有空位则添加行以获得空位。</p>
			</div>
			<div id="insertSpacer(BSpacer*,Align)">
				<h3>bool insertSpacer(BSpacer* spacer, Align align = Align_Center);</h3>
				<p>插入一个空间件，align指定其对齐方式。此方法会取得第一个空位进行放置，若没有空位则添加行以获得空位。</p>
			</div>
			<div id="insertSpring(BSpring*,Align)">
				<h3>bool insertSpring(BSpring* spring, Align align = Align_Center);</h3>
				<p>插入一个弹簧，align指定其对齐方式。此方法会取得第一个空位进行放置，若没有空位则添加行以获得空位。</p>
			</div>
			<div id="insertSpacer(const BSize&,Align)">
				<h3>BSpacer* insertSpacer(const BSize&amp; size, Align align = Align_Center);</h3>
				<p>新建一个空间件，并将其插入。size指定空间件的尺寸，align指定对齐方式。此方法会取得第一个空位进行放置，若没有空位则添加行以获得空位。</p>
			</div>
			<div id="insertSpring(const BSizeStretch&)">
				<h3>BSpring* insertSpring(const BSizeStretch&amp; stretch = 99999.0f);</h3>
				<p>新建一个弹簧，并将其插入。stretch指定其弹性。此方法会取得第一个空位进行放置，若没有空位则添加行以获得空位。</p>
			</div>
			<div id="remove(int, int)">
				<h3>bool remove(int row, int column);</h3>
				<p>移除指定位置的元素。</p>
			</div>
			<div id="removeRow(int)">
				<h3>bool removeRow(int row);</h3>
				<p>移除指定行。</p>
			</div>
			<div id="removeRows(int, int)">
				<h3>bool removeRows(int row, int count);</h3>
				<p>移除若干行，row为第一行，count为行数量。</p>
			</div>
			<div id="removeColumn(int)">
				<h3>bool removeColumn(int column);</h3>
				<p>移除指定列。</p>
			</div>
			<div id="removeColumns(int, int)">
				<h3>bool removeColumns(int column, int count);</h3>
				<p>移除若干列，column为第一g列，count为列数量。</p>
			</div>
			<div id="object(int, int)">
				<h3>BObject* object(int row, int column) const;</h3>
				<p>获得指定位置的元素对象。</p>
			</div>
			<div id="widget(int, int)">
				<h3>BWidget* widget(int row, int column) const;</h3>
				<p>获得指定位置的元素控件。</p>
			</div>
			<div id="layout(int, int)">
				<h3>BLayout* layout(int row, int column) const;</h3>
				<p>获得指定位置的元素布局器。</p>
			</div>
			<div id="spacer(int, int)">
				<h3>BSpacer* spacer(int row, int column) const;</h3>
				<p>获得指定位置的元素空间件。</p>
			</div>
			<div id="spring(int, int)">
				<h3>BSpring* spring(int row, int column) const;</h3>
				<p>获得指定位置的弹簧元素。</p>
			</div>
			<div id="row(const BObject*)">
				<h3>int row(const BObject* object) const;</h3>
				<p>获得指定元素对象所在行。</p>
			</div>
			<div id="column(const BObject*)">
				<h3>int column(const BObject* object) const;</h3>
				<p>获得指定元素对象所在列。</p>
			</div>
			<div id="rowRect(int)">
				<h3>BRect rowRect(int row) const;</h3>
				<p>获得指定行的矩形区域。</p>
			</div>
			<div id="columnRect(int)">
				<h3>BRect columnRect(int column) const;</h3>
				<p>获得指定列的矩形区域。</p>
			</div>
			<div id="cellRect(int, int)">
				<h3>const BRect&amp; cellRect(int row, int column) const;</h3>
				<p>获得给定位置的格子矩形区域。</p>
			</div>
			<div id="clearCells()">
				<h3>bool clearCells();</h3>
				<p>清除所有的格子中的元素，但不改变网格布局，所以开销很小。此方法常用于对元素进行重新排布。</p>
			</div>
			<div id="dirty(const BObject*)">
				<h3>virtual bool dirty(const BObject* object);</h3>
				<p>标记指定元素对象为需要重新调整的，后续会更新此元素，并对布局重新调整。</p>
			</div>
			<div id="align(const BObject*)">
				<h3>virtual Align align(const BObject* object) const;</h3>
				<p>获得指定元素对象的对齐方式。</p>
			</div>
			<div id="area(const BObject*)">
				<h3>virtual const BRect&amp; area(const BObject* object) const;</h3>
				<p>获得指定元素对象分配到的区域值。</p>
			</div>
			<div id="count()">
				<h3>virtual int count() const;</h3>
				<p>获得元素的数量，此数量值为行数乘以列数。</p>
			</div>
			<div id="object(int)">
				<h3>virtual BObject* object(int index) const;</h3>
				<p>获得次序为index的元素对象。</p>
			</div>
			<div id="widget(int)">
				<h3>virtual BWidget* widget(int index) const;</h3>
				<p>获得次序为index的元素控件。</p>
			</div>
			<div id="layout(int)">
				<h3>virtual BLayout* layout(int index) const;</h3>
				<p>获得次序为index的元布局器。</p>
			</div>
			<div id="spacer(int)">
				<h3>virtual BSpacer* spacer(int index) const;</h3>
				<p>获得次序为index的元素空间件。</p>
			</div>
			<div id="spring(int)">
				<h3>virtual BSpring* spring(int index) const;</h3>
				<p>获得次序为index的元素弹簧。</p>
			</div>
			<div id="find(const BString&)">
				<h3>virtual BObject* find(const BString&amp; name) const;</h3>
				<p>寻找名称为name的元素对象，此方法也会在子布局器中寻找。</p>
			</div>
			<div id="findWidget(const BString&)">
				<h3>virtual BWidget* findWidget(const BString&amp; name) const;</h3>
				<p>寻找名称为name的元素控件，此方法也会在子布局器中寻找。</p>
			</div>
			<div id="findLayout(const BString&)">
				<h3>virtual BLayout* findLayout(const BString&amp; name) const;</h3>
				<p>寻找名称为name的子元素布局器，此方法也会在子布局器中寻找。</p>
			</div>
			<div id="findSpacer(const BString&)">
				<h3>virtual BSpacer* findSpacer(const BString&amp; name) const;</h3>
				<p>寻找名称为name的子元素空间件，此方法也会在子布局器中寻找。</p>
			</div>
			<div id="findSpring(const BString&)">
				<h3>virtual BSpring* findSpring(const BString&amp; name) const;</h3>
				<p>寻找名称为name的子元素弹簧，此方法也会在子布局器中寻找。</p>
			</div>
			<div id="contain(const BWidget*)">
				<h3>virtual bool contain(const BWidget* widget) const;</h3>
				<p>判断是否包含指定的控件，此方法也会在子布局器中寻找。</p>
			</div>
			<div id="contain(const BLayout*)">
				<h3>virtual bool contain(const BLayout* layout) const;</h3>
				<p>判断是否包含指定的布局器，此方法也会在子布局器中寻找。</p>
			</div>
			<div id="contain(const BSpacer*)">
				<h3>virtual bool contain(const BSpacer* spacer) const;</h3>
				<p>判断是否包含指定的空间件，此方法也会在子布局器中寻找。</p>
			</div>
			<div id="contain(const BSpring*)">
				<h3>virtual bool contain(const BSpring* spring) const;</h3>
				<p>判断是否包含指定的弹簧，此方法也会在子布局器中寻找。</p>
			</div>
			<div id="remove(BWidget*)">
				<h3>virtual bool remove(BWidget* widget);</h3>
				<p>从此布局器以及子布局器中移除指定的控件，注意：此方法也会将控件从父控件中移除。</p>
			</div>
			<div id="remove(BLayout*)">
				<h3>virtual bool remove(BLayout* layout);</h3>
				<p>从此布局器以及子布局器中移除指定的布局器，注意：此方法也会将指定布局器的控件子元素从父控件中移除，但其自身内容不会改变。</p>
			</div>
			<div id="remove(BSpacer*)">
				<h3>virtual bool remove(BSpacer* spacer);</h3>
				<p>从此布局器以及子布局器中移除指定的空间件。</p>
			</div>
			<div id="remove(BSpring*)">
				<h3>virtual bool remove(BSpring* spring);</h3>
				<p>从此布局器以及子布局器中移除指定的弹簧。</p>
			</div>
			<div id="clear()">
				<h3>virtual bool clear();</h3>
				<p>移除所有的子元素，此方法会使其包含的所有控件从依附控件中移除。</p>
			</div>
			<div id="sizePolicy()">
				<h3>virtual BSizePolicy sizePolicy() const;</h3>
				<p>计算此布局器整体的尺寸策略，若自身策略值为空时，则综合各个子元素的策略值作为返回值。</p>
			</div>
			<div id="baseSize()">
				<h3>virtual BSize baseSize() const;</h3>
			</div>
			<div id="sizeHint()">
				<h3>virtual BSize sizeHint() const;</h3>
				<p>计算此布局器合适的尺寸。</p>
			</div>
			<div id="fixedSize()">
				<h3>virtual BSize fixedSize() const;</h3>
			</div>
			<div id="minSize()">
				<h3>virtual BSize minSize() const;</h3>
				<p>计算此布局器的最小尺寸，综合自身的最小尺寸与子元素的最小尺寸值。</p>
			</div>
			<div id="maxSize()">
				<h3>virtual BSize maxSize() const;</h3>
				<p>计算此布局器的最大尺寸，综合自身的最大尺寸与子元素的最大尺寸值。</p>
			</div>
			<div id="adjust()">
				<h3>virtual bool adjust();</h3>
				<p>执行网格布局调整，发出信号：Signal_Adjust。</p>
			</div>
			<div id="attached(BWidget*)">
				<h3>virtual void attached(BWidget* host);</h3>
				<p>当脱离依附控件时，将所有子元素控件从host控件中移除。</p>
			</div>
			<div id="detached(BWidget*)">
				<h3>virtual void detached(BWidget* host);</h3>
				<p>当此布局器开启了分割功能时，需要执行各个鼠标操作事件。</p>
			</div>
			<div id="event(const BEvent&)">
				<h3>virtual void event(const BEvent&amp; event);</h3>
				<p>当此布局器开启了分割功能时，需要执行各个鼠标操作事件。</p>
			</div>
			<div id="styleEvent(const BEvent&)">
				<h3>virtual void styleEvent(const BEvent&amp; event);</h3>
				<p>样式表取值：</p><table>
					<tr><td>Value_Splitable</td><td>取值为是否开启拖动分割功能，值为：bool splittable。</td></tr>
					<tr><td>Value_Spacing</td><td>取值为子元素之间的间隔，包括行间隔和列间隔，值为：int spacing。</td></tr>
					<tr><td>Value_HorSpacing</td><td>取值为列之间的间隔，注意此值会覆盖Value_Spacing，值为：int horSpacing。</td></tr>
					<tr><td>Value_VerSpacing</td><td>取值为行之间的间隔，注意此值会覆盖Value_Spacing，值为：int verSpacing。</td></tr>
					<tr><td>Value_Handle_Size</td><td>取值为看拖动手柄的尺寸，值为：BSize handleSize。</td></tr></table>
			</div>
			<div id="freshEvent(const BEvent&)">
				<h3>virtual void freshEvent(const BEvent&amp; event);</h3>
			</div>
			<div id="paintEvent(const BEvent&)">
				<h3>virtual void paintEvent(const BEvent&amp; event);</h3>
				<p>绘制拖动手柄。</p>
			</div>
			<div id="mouseEnterEvent(const BMouseEvent&)">
				<h3>virtual void mouseEnterEvent(const BMouseEvent&amp; mouseEvent);</h3>
			</div>
			<div id="mouseLeaveEvent(const BMouseEvent&)">
				<h3>virtual void mouseLeaveEvent(const BMouseEvent&amp; mouseEvent);</h3>
			</div>
			<div id="mousePressEvent(const BMouseEvent&)">
				<h3>virtual void mousePressEvent(const BMouseEvent&amp; mouseEvent);</h3>
			</div>
			<div id="mouseReleaseEvent(const BMouseEvent&)">
				<h3>virtual void mouseReleaseEvent(const BMouseEvent&amp; mouseEvent);</h3>
			</div>
			<div id="mouseMoveEvent(const BMouseEvent&)">
				<h3>virtual void mouseMoveEvent(const BMouseEvent&amp; mouseEvent);</h3>
			</div>
		</div>
	</body>
</html>